Skip to content

update Cacheruntime integration doc and add english version#5794

Merged
fluid-e2e-bot[bot] merged 3 commits intofluid-cloudnative:masterfrom
xliuqq:cacheruntime-doc
Apr 19, 2026
Merged

update Cacheruntime integration doc and add english version#5794
fluid-e2e-bot[bot] merged 3 commits intofluid-cloudnative:masterfrom
xliuqq:cacheruntime-doc

Conversation

@xliuqq
Copy link
Copy Markdown
Collaborator

@xliuqq xliuqq commented Apr 18, 2026

Ⅰ. Describe what this PR does

update Cacheruntime integration doc and add english version.

Ⅱ. Does this pull request fix one issue?

fixes #XXXX

Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.

Ⅳ. Describe how to verify it

Ⅴ. Special notes for reviews

xliuqq added 2 commits April 17, 2026 23:54
Signed-off-by: xliuqq <xlzq1992@gmail.com>
Signed-off-by: xliuqq <xlzq1992@gmail.com>
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a comprehensive CacheRuntime Integration Guide in both English and Chinese, detailing the steps for installation, topology planning, and template preparation for Fluid. The review feedback identifies several technical inaccuracies and typographical errors in the documentation, such as incorrect Kubernetes API versions ('appv1' instead of 'apps/v1'), inconsistent capitalization of 'DaemonSet', and spelling mistakes like 'intergration' and 'poxy'. Additionally, a suggestion was made to clarify an ambiguous reference to the master component configuration.

Comment thread docs/zh/TOC.md Outdated
Comment thread docs/zh/dev/generic_cache_runtime_intergration.md Outdated
Comment thread docs/zh/dev/generic_cache_runtime_intergration.md Outdated
Comment thread docs/zh/dev/generic_cache_runtime_intergration.md Outdated
Comment thread docs/en/dev/generic_cache_runtime_integration.md Outdated
Comment thread docs/en/dev/generic_cache_runtime_integration.md Outdated
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.46%. Comparing base (041354d) to head (f0d3b16).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #5794   +/-   ##
=======================================
  Coverage   58.46%   58.46%           
=======================================
  Files         473      473           
  Lines       32222    32222           
=======================================
  Hits        18839    18839           
  Misses      11836    11836           
  Partials     1547     1547           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Signed-off-by: xliuqq <xlzq1992@gmail.com>
@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the CacheRuntime integration documentation and adds an English version to help developers integrate new CacheRuntime implementations.

Changes:

  • Updated the Chinese CacheRuntime integration guide content (topology/template/config examples).
  • Added an English CacheRuntime integration guide.
  • Linked both guides from the Chinese and English documentation TOCs.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 6 comments.

File Description
docs/zh/dev/generic_cache_runtime_integration.md Refreshes CacheRuntime integration guidance and examples (CN).
docs/zh/TOC.md Adds the CN guide entry to the Developer Guide TOC.
docs/en/dev/generic_cache_runtime_integration.md Introduces the English CacheRuntime integration guide.
docs/en/TOC.md Adds the EN guide entry to the Developer Guide TOC.
Comments suppressed due to low confidence (6)

docs/zh/dev/generic_cache_runtime_integration.md:51

  • In the topology examples, workLoadType is not the actual CacheRuntimeClass field name (the spec uses workloadType). Using a different spelling/casing here can mislead readers when they write YAML manifests.
    docs/zh/dev/generic_cache_runtime_integration.md:50
  • Typo in the table: Woker should be Worker (appears multiple times in this section).
    docs/zh/dev/generic_cache_runtime_integration.md:76
  • Topology中comopent contains a typo; should be component to avoid confusion for readers.
    docs/zh/dev/generic_cache_runtime_integration.md:85
  • The Dependencies -> EncryptOption description is internally inconsistent: it says the feature is not supported in the current version, but also says to use the Dataset-defined keys for access. Please clarify the actual behavior (e.g., either mark as supported and describe how, or remove the guidance and consistently mark it unsupported).
    docs/zh/dev/generic_cache_runtime_integration.md:59
  • Kubernetes kind name should be DaemonSet (capital S). The table currently uses Daemonset, which is inconsistent with the YAML example below and Kubernetes API conventions.
    docs/zh/dev/generic_cache_runtime_integration.md:132
  • The CacheRuntimeClass schema uses template: (see api/v1alpha1/cacheruntimeclass_types.go / generated CRD), but the example YAML uses podTemplateSpec:. Readers following this example will end up with an invalid manifest; please update the example to use the current API field name.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

| Options | Default options, will be overridden by user settings | |
| Template | PodTemplateSpec native field | |
| Service | Currently only supports Headless | |
| Dependencies | EncryptOption | Whether this component needs Fluid to mount the access keys defined in Dataset for accessing data sources [Not supported in current version], using the keys defined in Dataset for access. |
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Dependencies -> EncryptOption description is internally inconsistent: it says the feature is not supported in the current version, but also says to use the Dataset-defined keys for access. Please clarify the actual behavior and keep it consistent with the YAML examples below.

Suggested change
| Dependencies | EncryptOption | Whether this component needs Fluid to mount the access keys defined in Dataset for accessing data sources [Not supported in current version], using the keys defined in Dataset for access. |
| Dependencies | EncryptOption | Whether this component needs Fluid to mount the access keys defined in Dataset for accessing data sources. |

Copilot uses AI. Check for mistakes.
service: # Need to create Headless Service for master, only supported when workloadType is StatefulSet
headless: {}
dependencies:
encryptOption: {} # Current not support
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar in the YAML comment: Current not support should be Currently not supported (or similar).

Suggested change
encryptOption: {} # Current not support
encryptOption: {} # Currently not supported

Copilot uses AI. Check for mistakes.
Comment on lines +163 to +164
dependencies:
encryptOption: {} # Need to provide encryptOption declared by user in dataset for client
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This client example suggests dependencies.encryptOption is required, but earlier in the doc it’s described as not supported in the current version. Please make the example and the stated feature support consistent.

Suggested change
dependencies:
encryptOption: {} # Need to provide encryptOption declared by user in dataset for client
dependencies: {}

Copilot uses AI. Check for mistakes.
Comment on lines +3 to +20
# Installation

* Install Fluid version that supports CacheRuntime.


```shell
helm repo add fluid https://fluid-cloudnative.github.io/charts

helm repo update

helm search repo fluid --devel

helm install fluid fluid/fluid --devel --version xxx -n fluid-system
```

# Integration

## Step 1. Plan Cluster Topology
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The document uses multiple top-level # headings (# Installation, # Integration) after the title. Other docs in this repo use a single # for the page title and ## for sections; please demote these headings to keep a consistent structure.

Copilot uses AI. Check for mistakes.
Comment on lines +49 to +59
| Master | | * workLoadType: apps/v1/StatefulSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* UFS mount command<br> <br>* HeadlessService needs to be created<br> <br>* Authentication keys need to be mounted |
| Worker: Used for single worker role definition | | * workLoadType: apps/v1/StatefulSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* HeadlessService needs to be created<br> <br>* Authentication keys do NOT need to be mounted<br> <br>* TieredStore needs to be configured |
| Client | Fuse | * Role: Posix client<br> <br>* workLoadType: apps/v1/DaemonSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* Authentication parameters do NOT need to be mounted<br> <br>* TieredStore is NOT supported |

* P2P Worker: JuiceFS


| Topology | Settings |
| --- | --- |
| Worker: Used for single worker role definition | * workLoadType: apps/v1/StatefulSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* HeadlessService<br> <br>* Authentication parameters need to be mounted<br> <br>* TieredStore is supported |
| Client | * Role: Fuse client<br> <br>* workLoadType: apps/v1/DaemonSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* Service is NOT required<br> <br>* Authentication parameters need to be mounted<br> <br>* TieredStore is supported |
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the topology examples, workLoadType is not the actual CacheRuntimeClass field name (the spec uses workloadType). Using a different spelling/casing here can mislead readers when they write YAML manifests.

Suggested change
| Master | | * workLoadType: apps/v1/StatefulSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* UFS mount command<br> <br>* HeadlessService needs to be created<br> <br>* Authentication keys need to be mounted |
| Worker: Used for single worker role definition | | * workLoadType: apps/v1/StatefulSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* HeadlessService needs to be created<br> <br>* Authentication keys do NOT need to be mounted<br> <br>* TieredStore needs to be configured |
| Client | Fuse | * Role: Posix client<br> <br>* workLoadType: apps/v1/DaemonSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* Authentication parameters do NOT need to be mounted<br> <br>* TieredStore is NOT supported |
* P2P Worker: JuiceFS
| Topology | Settings |
| --- | --- |
| Worker: Used for single worker role definition | * workLoadType: apps/v1/StatefulSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* HeadlessService<br> <br>* Authentication parameters need to be mounted<br> <br>* TieredStore is supported |
| Client | * Role: Fuse client<br> <br>* workLoadType: apps/v1/DaemonSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* Service is NOT required<br> <br>* Authentication parameters need to be mounted<br> <br>* TieredStore is supported |
| Master | | * workloadType: apps/v1/StatefulSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* UFS mount command<br> <br>* HeadlessService needs to be created<br> <br>* Authentication keys need to be mounted |
| Worker: Used for single worker role definition | | * workloadType: apps/v1/StatefulSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* HeadlessService needs to be created<br> <br>* Authentication keys do NOT need to be mounted<br> <br>* TieredStore needs to be configured |
| Client | Fuse | * Role: Posix client<br> <br>* workloadType: apps/v1/DaemonSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* Authentication parameters do NOT need to be mounted<br> <br>* TieredStore is NOT supported |
* P2P Worker: JuiceFS
| Topology | Settings |
| --- | --- |
| Worker: Used for single worker role definition | * workloadType: apps/v1/StatefulSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* HeadlessService<br> <br>* Authentication parameters need to be mounted<br> <br>* TieredStore is supported |
| Client | * Role: Fuse client<br> <br>* workloadType: apps/v1/DaemonSet<br> <br>* Image configuration<br> <br>* Startup command<br> <br>* Service is NOT required<br> <br>* Authentication parameters need to be mounted<br> <br>* TieredStore is supported |

Copilot uses AI. Check for mistakes.
Comment on lines +129 to +132
encryptOption: {} # Current not support
podTemplateSpec:
spec:
restartPolicy: Always
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CacheRuntimeClass schema uses template: (see the generated CRD), but the example YAML uses podTemplateSpec:. Readers following this example will end up with an invalid manifest; please update the example to use the current API field name.

Copilot uses AI. Check for mistakes.
@cheyang
Copy link
Copy Markdown
Collaborator

cheyang commented Apr 19, 2026

Thanks for the doc update. A few notes:

Good changes:

  • English version addition — great for broader reach
  • Typo fixes: appv1apps/v1, DaemonsetDaemonSet, poxyproxy
  • File rename: intergrationintegration
  • Content updates: FLUID_RUNTIME_COMPONENT_SVC_NAME ENV, ExecutionEntries field, RuntimeConfig JSON example, encryptOption marked as "not yet supported"

One remaining typo in the Chinese version:
"Woker" appears twice in the topology tables (both MasterSlave and P2P sections) — should be "Worker".

Otherwise this looks good. Minor doc issue, not blocking.

Copy link
Copy Markdown
Collaborator

@cheyang cheyang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

Copy link
Copy Markdown
Collaborator

@cheyang cheyang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@fluid-e2e-bot
Copy link
Copy Markdown

fluid-e2e-bot Bot commented Apr 19, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cheyang

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@fluid-e2e-bot fluid-e2e-bot Bot merged commit 8b91bea into fluid-cloudnative:master Apr 19, 2026
17 checks passed
@xliuqq xliuqq deleted the cacheruntime-doc branch April 20, 2026 04:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants